JSRとdeno docで認識されるJSDocタグについて
#jsr #deno_doc #Deno #JSDoc #TypeScript
はじめに
JSRやdeno docコマンド※には、標準のJSDocでは定義されていない独自のタグが存在します
※JSRとdeno docコマンドにおけるドキュメントの生成では、内部的には同じ仕組みが利用されているようです (jsr-io/jsr/api/src/docs.rs)
deno docが認識するJSDocタグについてはdenoland/deno_doc/src/js_doc.rsで定義されているようなので、こちらを参考に見ていきます
特殊なJSDocタグについて
@experimental
対象のAPIが実験的であることを示す際に使います
例) @std/cli/spinner.ts#L26
TSDocにこのタグがあるようで、それを採用している模様 ()
@category
これはJSDocにもTSDocにもない、完全に独自なタグの模様
あるAPIがどのようなカテゴリに属するかを指定できます
Deno本体の型定義ファイルにおいて使われています (例: denoland/deno/ext/url/lib.deno_url.d.ts#L8)
@internal
対象APIが内部APIであることを示すために使います
例) @std/async/tee.ts#L7
TSDocから流用されているようです ()
@tags
Deno本体においてあるAPIがどのパーミッションを要求するかを指定するための用途などで使われている模様 (例: denoland/deno/ext/net/lib.deno_net.d.ts#L194)
これはJSDocやTSDocでは定義されていない独自のタグである模様